package designpatterns.factory.abs.code;

import java.util.Calendar;

/**
 * 抽象工厂：
 * 优点：当一个产品族中的多个对象被设计成一起工作时，它能保证客户端始终只使用同一个产品族中的对象。
 * 缺点：产品族扩展非常困难，要增加一个系列的某一产品，既要在抽象的 Creator 里加代码，又要在具体的里面加代码。
 *     类爆炸
 */
public class Client {
    public static void main(String[] args) {
        PhoneAbstractFactory factory = FactoryProvider.getFactory(PhoneEnum.MI_12.getBrand());
        Phone mi12 = factory.creatPhone(PhoneEnum.MI_12.getVersion());
        mi12.call();
    }

}
